﻿//
// Created: 2018/7/16
// Author: chenqiang
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xproject.Framework.Core;
using System.ComponentModel.DataAnnotations.Schema;

namespace Model.WeiXin
{
    public class WeiXinUser : IEntity
    {

        ///<summary>
        ///
        ///<summary>
        public string UserID { get; set; }
        ///<summary>
        ///
        ///<summary>
        public int GradeID { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string UserCode { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string Account { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string Password { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string OpenId { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string NickName { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string WXAccount { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string Area { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string HeadUrl { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string ParentID { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string IDPath { get; set; }
        ///<summary>
        ///
        ///<summary>
        public DateTime? CreateTime { get; set; }


        public string StrCreateTime {
            get {
                return CreateTime.Value.ToString("yyyy-MM-dd HH:mm:ss");
            }
        }
        ///<summary>
        ///0：禁用，1：启用
        ///<summary>
        public int State { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string ProjectID { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string Email { get; set; } 
       ///<summary>
       ///0：保密 1：女2：男
       ///<summary>
       public string Sex { get; set; }
        ///<summary>
        ///
        ///<summary>
        public DateTime? BirthDay { get; set; } 
       ///<summary>
       ///0：否1：是
       ///<summary>
       public int IsAutoSynchro { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string TJCode { get; set; } 
       ///<summary>
       ///0:微信 1：app 2：pc
       ///<summary>
       public int RegisterSource { get; set; }
        ///<summary>
        ///
        ///<summary>
        public decimal TotalSaleMoney { get; set; }
        ///<summary>
        ///
        ///<summary>
        public decimal TotalBonusMoney { get; set; }
        ///<summary>
        ///
        ///<summary>
        public decimal BonusBalance { get; set; }
        ///<summary>
        ///
        ///<summary>
        public decimal TotalRequestMoney { get; set; }
        ///<summary>
        ///
        ///<summary>
        public decimal ScoreBalance { get; set; }
        ///<summary>
        ///
        ///<summary>
        public decimal FrozenBalance { get; set; }
        ///<summary>
        ///
        ///<summary>
        public decimal FrozenScore { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string UnionId { get; set; }
        ///<summary>
        ///
        ///<summary>
        public DateTime? ExpireTime { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string CompanyName { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string UserName { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string IDCard { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string Mobile { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string PayPwd { get; set; }
        ///<summary>
        ///
        ///<summary>
        public int IsFocus { get; set; }
        ///<summary>
        ///
        ///<summary>
        public DateTime? FocusTime { get; set; }
        ///<summary>
        ///
        ///<summary>
        public DateTime? CancelTime { get; set; }
        ///<summary>
        ///
        ///<summary>
        public int IsTrade { get; set; }
        ///<summary>
        ///
        ///<summary>
        public int IsRealAuth { get; set; }
        ///<summary>
        ///
        ///<summary>
        public int IsGoldAuth { get; set; }
        ///<summary>
        ///
        ///<summary>
        public int IsCompanyAuth { get; set; }
        ///<summary>
        ///
        ///<summary>
        public int IsAuth { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string RedOpenId { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string PayOpenId { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string AuthOpenId { get; set; }
        ///<summary>
        ///
        ///<summary>
        public string MsgOpenId { get; set; }
        ///<summary>
        ///
        ///<summary>
        public DateTime? LastLoginTime { get; set; }
        ///<summary>
        ///
        ///<summary>
        public int IsMobileAuth { get; set; }


        [NotMapped]
        public long Id { get; set; }

        [NotMapped]
        public EntityState EntityState { get; set; }

        public int CompareTo(object obj)
        {
            throw new NotImplementedException();
        }
    }
}